Don't reload segment registers -- it's done later in generic code.
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Wed, 22 Feb 2006 15:50:28 +0000 (15:50 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Wed, 22 Feb 2006 15:50:28 +0000 (15:50 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c

index d33ecbceca249038f1b7b5e8cb62b06de235da3f..c61e7f0ee472fee5dd2c94c60247334af2e704f7 100644 (file)
@@ -583,19 +583,6 @@ void __cpuinit cpu_gdt_init(struct Xgt_desc_struct *gdt_descr)
        }
        if (HYPERVISOR_set_gdt(frames, gdt_descr->size / 8))
                BUG();
-
-       /* Reload all the segment registers after changing gdt. */
-       asm volatile("movl %0,%%ss\n\t"
-                    "movl %1,%%ds\n\t"
-                    "movl %1,%%es\n\t"
-                    "pushl %2\n\t"             /* Reload CS by intersegment return. */
-                    "pushl $1f\n\t"
-                    "lret\n\t"
-                    "1:\n\t"
-                    : /* no outputs */
-                    : "r"(__KERNEL_DS),
-                      "r"(__USER_DS),
-                      "r"(__KERNEL_CS));
 }
 
 /*